import pandas as pd
import os
import numpy as np

def analyze_xlsx_file(filename):
    """分析xlsx文件并显示其内容"""
    print(f"\n=== 分析文件: {filename} ===")
    
    try:
        # 读取所有工作表
        xlsx_file = pd.ExcelFile(filename)
        print(f"工作表名称: {xlsx_file.sheet_names}")
        
        for sheet_name in xlsx_file.sheet_names:
            print(f"\n--- 工作表: {sheet_name} ---")
            df = pd.read_excel(filename, sheet_name=sheet_name)
            
            print(f"数据形状: {df.shape}")
            print(f"列名: {list(df.columns)}")
            
            # 显示前几行数据
            print(f"\n前5行数据:")
            print(df.head())
            
            # 显示数据类型
            print(f"\n数据类型:")
            print(df.dtypes)
            
            # 显示基本统计信息
            if not df.empty:
                print(f"\n数值列的统计信息:")
                numeric_cols = df.select_dtypes(include=[np.number]).columns
                if len(numeric_cols) > 0:
                    print(df[numeric_cols].describe())
                
                # 检查缺失值
                missing_values = df.isnull().sum()
                if missing_values.any():
                    print(f"\n缺失值情况:")
                    print(missing_values[missing_values > 0])
                else:
                    print("\n没有缺失值")
            
            print("-" * 50)
            
    except Exception as e:
        print(f"读取文件 {filename} 时出错: {e}")

def main():
    """主函数"""
    print("开始分析赛题相关的xlsx文件...")
    
    # 分析所有xlsx文件
    xlsx_files = [f for f in os.listdir('.') if f.endswith('.xlsx')]
    
    for file in xlsx_files:
        analyze_xlsx_file(file)
    
    print("\n分析完成!")

if __name__ == "__main__":
    main() 